//-----------------------------------------------------------------------------
//
// FifteenPuzzle
//
// Eugene Magdel and Joshua Jung
//
// 2011 for University of Illinois at Chicago CS340 w/ Professor Troy
//
//-----------------------------------------------------------------------------
#ifndef FIFTEENPUZZLE_H
#define FIFTEENPUZZLE_H

#include <QMainWindow>
#include <QGraphicsScene>

#include <list>
#include "grid.h"

#include <QMouseEvent>

using namespace std;

namespace Ui {
    class FifteenPuzzle;
}

class FifteenPuzzle : public QMainWindow
{
    Q_OBJECT

public:
    explicit FifteenPuzzle(QWidget *parent = 0);
    ~FifteenPuzzle();

public slots:
    void aboutClick();
    void helpClick();
    void quit();


private:
    Ui::FifteenPuzzle *ui;

    // --------------------------------
    // GRAPHICS
    // --------------------------------
    QGraphicsScene *graphicsScene;

    // --------------------------------
    // TILES
    // --------------------------------
    int tileSpacing;

    void initialize();
    Grid * grid;
    void mousePressEvent(QMouseEvent *);

private slots:
    void on_actionNew_triggered();
    void on_actionMix_Board_triggered();
};

#endif // FIFTEENPUZZLE_H


